#[cfg(test)]
mod timex {
    use std::thread::sleep;
    use std::time::{Duration, Instant};

    // SystemTime：表示自UNIX纪元以来的时间，适用于获取系统当前时间。
    // Duration：表示两个时间点之间的间隔，可以进行加减和比较操作。
    // Instant：表示一个精确的时间点，常用于性能测量。
    #[test]
    fn duration() {
        let five_seconds = Duration::from_secs(5);
        assert_eq!(five_seconds, Duration::from_millis(5_000));
        assert_eq!(five_seconds, Duration::from_micros(5_000_000));
        println!(
            "{:?} {:?}",
            five_seconds,
            Duration::from_nanos(5_000_000_000)
        );

        let ten_seconds = Duration::from_secs(10);
        let seven_nanos = Duration::from_nanos(7);
        let total = ten_seconds + seven_nanos;
        println!("{:?} {:?}", total, Duration::new(10, 7));
    }
    #[test]
    fn instant() {
        let now = Instant::now();
        // Calling a slow function, it may take a while
        sleep(Duration::from_secs(1));
        let elapsed_time = now.elapsed();
        println!("took {} seconds.", elapsed_time.as_secs());
    }
}
